ПРЯМІ ТА ІТЕРАЦІЙНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРИЧНИХ РІВНЯНЬ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп’ютерні методи дослідження систем керування

Частина тексту файла

Міністерство освіти та науки України Національний університет “Львівська політехніка” Звіт до лабораторної роботи № 2 з курсу “Комп’ютерні методи дослідження систем керування” ПРЯМІ ТА ІТЕРАЦІЙНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРИЧНИХ РІВНЯНЬ Варіант #4 Прийняв: ст. викладач Яцук Ю.В. Львів 2014 Мета роботи: вивчити найпоширеніші прямі та ітераційні методи розв’язування систем лінійних алгебричних рівнянь та способи їх застосування для обчислення визначників і обертання матриць. Завдання 4 Розв’язати систему рівнянь методом Гауса з вибором головного елемента по всій матриці система №1   Система №1  де ; ; Код програми #include <iostream> #include <iomanip> using namespace std; int main() { int l, g=22; cout<<"student Number = "; cin>>l; double s, b; b=0.02*g; s=0.02*l; int n=4; double max,c; int w, h, inx[4]={0,1,2,3},z; double A[4][4]={{8.3, 2.62+s, 4.1, 1.9},{3.92, 8.45, 7.78-s, 2.46},{3.77, 7.21+s, 8.04, 2.28},{2.21, 3.65-s, 1.69, 6.69}}; double B[4]={-10.65+b, 12.21, 15.45-b, -8.35}; double V[4][4], P[4], X[4], Y[4], C[4][4]; for(int i=0; i<n; i++) for(int j=0; j<n; j++) { V[i][j]=A[i][j]; P[i]=B[i]; } for(int k=0;k<n;k++) { max=fabs(V[k][k]); h=k; w=k; for(int l=k+1;l<n; l++) for(int f=k+1;f<n; f++) if(max<fabs(V[l][f])) { max=fabs(V[l][f]); h=l; w=k; } double value=P[k]; P[k]=P[h]; P[h]=value; for(int d=0; d<n; d++) { double value=V[k][d]; V[k][d]=V[h][d]; V[h][d]=value; } z=inx[k]; inx[k]=inx[w]; inx[w]=z; for(int d=0;d<n;d++) if(d<k) { double value=C[d][k]; C[d][k]=C[d][w]; C[d][w]=value; } else { double value=V[d][k]; V[d][k]=V[d][w]; V[d][w]=value; } Y[k]=P[k]/V[k][k]; for(int i=k+1; i<n; i++) { P[i]-=V[i][k]*Y[k]; for(int j=k+1; j<n; j++) { C[k][j]=V[k][j]/V[k][k]; V[i][j]-=V[i][k]*C[k][j]; } } } for(int i=0; i<n; i++) X[i]=0; X[n]=Y[n]; for(int i=n-1;i>=0;i--) { for(int j=i+1; j<n; j++) X[i]+=C[i][j]*X[j]; X[i]=Y[i]-X[i]; } for(int i=0; i<n; i++) if(inx[i]!=i) { z=inx[i]; double value=X[i]; X[i]=X[z]; X[z]=value; inx[i]=inx[z]; inx[z]=z; } cout<<"this system"<<endl; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) if(A[i][j]>0) { cout<<"+"; cout<<A[i][j]<<" *x"<<j+1<<" "; } else cout<<A[i][j]<<" *x"<<j+1<<" "; cout<<" = "<<B[i]; cout<<endl; } for(int i=0;i<n;i++) { c=0; for(int j=0;j<n;j++) c+=A[i][j]*X[j]; cout<<"C = "<<c<<endl; } cout<<"solution system "<<endl; for(int i=0; i<n; i++) { cout<<"x("<<i+1<<") = "<<X[i]<<endl; } system("pause"); } Результат роботи програми /
Антиботан аватар за замовчуванням

12.04.2016 16:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини